package br.com.stefanini.schs.managedbean;

import java.util.List;
import java.util.Map;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;

import br.com.stefanini.schs.ejb.entity.Atividade;
import br.com.stefanini.schs.ejb.entity.Funcionario;
import br.com.stefanini.schs.ejb.entity.FuncionarioProjeto;
import br.com.stefanini.schs.ejb.entity.Ponto;
import br.com.stefanini.schs.ejb.entity.Projeto;
import br.com.stefanini.schs.ejb.sessionBean.AtividadeSessionBean;
import br.com.stefanini.schs.ejb.sessionBean.FuncionarioSessionBean;
import br.com.stefanini.schs.ejb.sessionBean.PontoSessionBean;
import br.com.stefanini.schs.ejb.sessionBean.ProjetoSessionBean;

@ManagedBean
@RequestScoped
public class TesteManagedBean extends BaseManagedBean{
	
	private Funcionario funcionario;
	private Funcionario funcionarioSelecionado;
	private List<Funcionario> listaDeFuncionario;
	private List<Ponto> listaDePonto;
	private List<Atividade> listaDeAtividade;
	private List<Projeto> listaDeProjeto;
	private List<Funcionario> listaFuncionariosDesvinculados;
	private List<FuncionarioProjeto> listaFuncionarioProjeto;
	
	public List<Funcionario> getListaFuncionariosDesvinculados() {
		return listaFuncionariosDesvinculados;
	}

	public void setListaFuncionariosDesvinculados(List<Funcionario> listaFuncionariosDesvinculados) {
		this.listaFuncionariosDesvinculados = listaFuncionariosDesvinculados;
	}

	@EJB
	private FuncionarioSessionBean funcionarioSessionBean;
	
	@EJB
	private PontoSessionBean pontoSessionBean;
	
	@EJB
	private AtividadeSessionBean atividadeSessionBean;
	
	@EJB
	private ProjetoSessionBean projetoSessionBean;
	
	public TesteManagedBean() {
		super();
	}
	
	public String detalharFuncionario() {
		Map<String,Object> requestMap = FacesContext.getCurrentInstance().getExternalContext().getRequestMap();
		requestMap.put("funcionario",funcionario);
		
		return "detalhaFuncionario";
	}
	
	public List<Funcionario> getListaDeFuncionario() {
		listaDeFuncionario = funcionarioSessionBean.consultaTodosFuncionarios();
		return listaDeFuncionario;
	}

	public List<Ponto> getListaDePonto() {
		listaDePonto = pontoSessionBean.consultaTodosPontos();
		return listaDePonto;
	}
	
	public List<Atividade> getListaDeAtividade() {
		listaDeAtividade = atividadeSessionBean.consultaTodasAtividadesFuncionarios();
		return listaDeAtividade;
	}
	
	public List<Projeto> getListaDeProjeto() {
		listaDeProjeto = projetoSessionBean.consultaTodosProjetos();
		return listaDeProjeto;
	}
	
	public void setListaDeFuncionario(List<Funcionario> listaDeFuncionario) {
		this.listaDeFuncionario = listaDeFuncionario;
	}

	public void setListaDePonto(List<Ponto> listaDePonto) {
		this.listaDePonto = listaDePonto;
	}

	public void setListaDeAtividade(List<Atividade> listaDeAtividade) {
		this.listaDeAtividade = listaDeAtividade;
	}

	public void setListaDeProjeto(List<Projeto> listaDeProjeto) {
		this.listaDeProjeto = listaDeProjeto;
	}

	public List<FuncionarioProjeto> getListaFuncionarioProjeto() {
		listaFuncionarioProjeto = projetoSessionBean.consultaFuncionarioProjeto();
		return listaFuncionarioProjeto;
	}

	public void setListaFuncionarioProjeto(List<FuncionarioProjeto> listaFuncionarioProjeto) {
		this.listaFuncionarioProjeto = listaFuncionarioProjeto;
	}

	public Funcionario getFuncionario() {
		return funcionario;
	}

	public void setFuncionario(Funcionario funcionario) {
		this.funcionario = funcionario;
	}

	public Funcionario getFuncionarioSelecionado() {
		return funcionarioSelecionado;
	}

	public void setFuncionarioSelecionado(Funcionario funcionarioSelecionado) {
		this.funcionarioSelecionado = funcionarioSelecionado;
	}
	
}
